package drds.global_transaction.transaction_coordinator.transaction_coordinator;

import drds.global_transaction.api.api.GlobalTransactionManager;
import drds.global_transaction.api.api.ResourceManagerInbound;
import drds.global_transaction.api.api.ResourceManagerOutbound;
import drds.global_transaction.api.exception.GlobalTransactionException;
import drds.global_transaction.transaction_coordinator.transaction_session.GlobalTransactionSession;

/**
 * 外部请求和内部处理的衔接点
 */
public interface GlobalTransactionManagerInteractor extends GlobalTransactionManager, ResourceManagerOutbound
{

	void setResourceManagerInbound(ResourceManagerInbound resourceManagerInbound);

	void doGlobalTransactionCommit(GlobalTransactionSession globalTransactionSession, boolean retrying) throws GlobalTransactionException;

	void doGlobalTransactionRollback(GlobalTransactionSession globalTransactionSession, boolean retrying) throws GlobalTransactionException;
}
